Date		:	27 mai 1990
		Programme	:	STARGLIDER II
		Outils		:	PERISCOPE + PANO_AT
		Protection	:	Mot de passe
		Temps pass�	:	2 heures
		Fichier		:	SG2.EXE
		Soci�t�		:	ARGONAUT SOFTWARE
		Divers		:
		Origine		:	INDONESIE
		Num�ro		:	026

	
	Tout les d�bugger se d�roulent en Full Speed et il est bien sur
	impossible de s'arr�ter au niveau de la demande de mot de passe.
	Avec l'NMI SWITCH on s'arr�te ( heureusement ) et l'on trouve
	facilement quelques instructions plus loin :

	2DA1:0600	CMP AL,0D	Qui test la touche ENTER.

	A partir de l� il suffit de remonter le SOFT jusqu'� un JCXZ qui
	si la r�ponse est mauvaise saute � 00E1 et regarde si l'on a d�j�
	r�pondu 3 fois ( DEC BYTE PTR [55CE] - qui est charg� avec 03 ) si
	c'est le cas on saute � 0100 qui saute � 0100 et on se trouve dans
	une boucle infinie.

	La premi�re chose a faire c'est de placer des NOP pour que le JCXZ
	ne saute pas � 00E1;
	Le soft fonctionne; choix de la r�solution graphique, image de
	pr�sentation, mais l'image d'entr�e du jeu reste inactive.

	En examinant le reste du code on s'apercoit qu'il faut sortir de la
	boucle ( atteidre le RETF ) par le saut JZ 0103 pour cel� il faut
	que le r�sultat de l'instruction SUB DX,[DI] soit �gal � zero. 

	Forcer le JZ 0103 en JNZ 0103 est facile mais ne fait toujours pas
	fonctionner le programme. En �crivant 0000 avec PERISCOPE en DL 
	juste avant, le programme fonctionne. Il ne reste plus qu'� faire
	la modif dans le code.

	L'id�e vient de mettre � zero DL par un XOR DL,DL et de placer
	cette instruction � l'endroit de mes deux NOP, mais DX est modifi�
	par le CALL 029C.
	Par contre il est ais� de le placer � la place du SUB DX,[DI] et il
	n'est plus n�cessaire de modifier le saut JZ 0103.

	* ---> Instructions remplac�es.
	
	39D7:00CD E312          JCXZ    00E1	---->	Remplacer par 2 NOP
	*         90		NOP
	*	  90	        NOP
	39D7:00CF 83C602        ADD     SI,+02
	39D7:00D2 E8C701        CALL    029C
	39D7:00D5 2B15          SUB     DX,[DI] ---->   Remplacer par XOR
	*	  30D2		XOR     DL,DL
	39D7:00D7 3E            DS:
	39D7:00D8 885600        MOV     [BP+00],DL
	39D7:00DB 88160A00      MOV     [000A],DL
	39D7:00DF 7422          JZ      0103
	39D7:00E1 FE0ECE55      DEC     BYTE PTR [55CE]
	39D7:00E5 7419          JZ      0100
	39D7:00E7 BE75C2        MOV     SI,C275
	39D7:00EA BD5000        MOV     BP,0050
	39D7:00ED BB0F00        MOV     BX,000F
	39D7:00F0 E89101        CALL    0284
	39D7:00F3 9A6F05A12D    CALL    2DA1:056F
	39D7:00F8 9A9F0C942A    CALL    2A94:0C9F
	39D7:00FD E95FFF        JMP     005F
	39D7:0100 E9FDFF        JMP     0100
	39D7:0103 CB            RETF

	Faire les m�mes modifications pour la version Francaise et 
	Allemande. Par contre toujours lancer le jeu par E(nglish), ce
	n'est que le message de la protection qui est trilingue, sous
	peine de voir ICARIUS exploser d�s le d�but.

	Version Francaise:

	39D7:024D E312          JCXZ    0261
	39D7:024F 83C602        ADD     SI,+02
	39D7:0252 E84700        CALL    029C
	39D7:0255 2B15          SUB     DX,[DI]
	39D7:0257 3E            DS:
	39D7:0258 885600        MOV     [BP+00],DL
	39D7:025B 88360A00      MOV     [000A],DH
	39D7:025F 7422          JZ      0283
	39D7:0261 FE0ECE55      DEC     BYTE PTR [55CE]
	39D7:0265 7419          JZ      0280
	39D7:0267 BE19C4        MOV     SI,C419
	39D7:026A BD5000        MOV     BP,0050
	39D7:026D BB0F00        MOV     BX,000F
	39D7:0270 E81100        CALL    0284
	39D7:0273 9A6F05A12D    CALL    2DA1:056F
	39D7:0278 9A9F0C942A    CALL    2A94:0C9F
	39D7:027D E961FF        JMP     01E1
	39D7:0280 E9FDFF        JMP     0280
	39D7:0283 CB            RETF

	Version Allemande:

	39D7:018D E312          JCXZ    01A1
	39D7:018F 83C602        ADD     SI,+02
	39D7:0192 E80701        CALL    029C
	39D7:0195 2B15          SUB     DX,[DI]
	39D7:0197 3E            DS:
	39D7:0198 885600        MOV     [BP+00],DL
	39D7:019B 88360A00      MOV     [000A],DH
	39D7:019F 7422          JZ      01C3
	39D7:01A1 FE0ECE55      DEC     BYTE PTR [55CE]
	39D7:01A5 7419          JZ      01C0
	39D7:01A7 BE6CC0        MOV     SI,C06C
	39D7:01AA BD5000        MOV     BP,0050
	39D7:01AD BB0F00        MOV     BX,000F
	39D7:01B0 E8D100        CALL    0284
	39D7:01B3 9A6F05A12D    CALL    2DA1:056F
	39D7:01B8 9A9F0C942A    CALL    2A94:0C9F
	39D7:01BD E961FF        JMP     0121
	39D7:01C0 E9FDFF        JMP     01C0
	39D7:01C3 CB            RETF

	FREDDY